package it.unipd.dei.bd.icineasti.database;

import it.unipd.dei.bd.icineasti.resource.Poltrona;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import java.sql.ResultSet;

/**
 * Riceve una lista di poltrone e l'id di una sala
 * ed inserisce le poltrone nel database in quella sala.
 * 
 * @author Bardelle Renzo
 * @version 1.00
 */

public class CreatePoltroneDatabase {

	private static final String STATEMENT = "INSERT INTO poltrona VALUES ( DEFAULT, ?, ?, ?, ?)";

	private final Connection con;
	private final int idsala;
	private final List<Poltrona> poltrone;

	public CreatePoltroneDatabase(Connection con, int idsala,List<Poltrona> poltrone) {
		this.con = con;
		this.idsala = idsala;
		this.poltrone = poltrone;
	}

	public void createPoltrone() throws SQLException {

		PreparedStatement pstmt = null;
		
		try {
			pstmt = con.prepareStatement(STATEMENT);
			
			pstmt.setInt(4, idsala);
			
			for (Poltrona e : poltrone) {
				pstmt.setString(1, e.getFila());
				pstmt.setInt(2, e.getNumero());
				pstmt.setBoolean(3, e.getPrenotabile());
				
				pstmt.execute();
			}
			
		} finally {
			if (pstmt != null) {
				pstmt.close();
			}
			
			con.close();
		}
	}
}